1462C - Unique Number - CodeForces Solution


brute force greedy math *900

Please click on ads to support us..

Python Code:

l=[]
ans=["","","","","","","","",""]
for j in range(8,-1,-1):
    for i in range(1,j+2):
        ans[j]=str(i)
        l.append("".join(ans))
for j in range(int(input())):
	n=int(input())
	if n>45:
		print(-1)
	else:
		print(l[n-1])

C++ Code:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int t;
	cin>>t;
	while(t--){
		int n;
		cin>>n;
		int power=1;
		int k=0;
		for(int i=9;i>=1;i--){
			if(n>=i){
				n-=i;
				k=k+i*power;
				power*=10;
			}
		}
		if(n==0){
			cout<<k<<endl;
		}
		else{
			cout<<-1<<endl;
		}
	}
}


Comments

Submit
0 Comments
More Questions

411A - Password Check
1520C - Not Adjacent Matrix
1538B - Friends and Candies
580A - Kefa and First Steps
1038B - Non-Coprime Partition
43A - Football
50A - Domino piling
479A - Expression
1480A - Yet Another String Game
1216C - White Sheet
1648A - Weird Sum
427A - Police Recruits
535A - Tavas and Nafas
581A - Vasya the Hipster
1537B - Bad Boy
1406B - Maximum Product
507B - Amr and Pins
379A - New Year Candles
1154A - Restoring Three Numbers
750A - New Year and Hurry
705A - Hulk
492B - Vanya and Lanterns
1374C - Move Brackets
1476A - K-divisible Sum
1333A - Little Artem
432D - Prefixes and Suffixes
486A - Calculating Function
1373B - 01 Game
1187A - Stickers and Toys
313B - Ilya and Queries